package com.ae.content.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRootName;

import java.io.Serializable;

@JsonRootName(value = "result")
public class ResourceResponse implements Serializable {
    private static final long serialVersionUID = -2302481859137161828L;

    @JsonProperty("result")
    private Result result;

    @JsonProperty("request_id")
    private String requestId;

    public Result getResult() {
        return result;
    }

    public void setResult(Result result) {
        this.result = result;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public class Data implements Serializable {
        private static final long serialVersionUID = -3795098746623770097L;

        @JsonProperty("resource_statuses")
        private ResourceStatuses resourceStatuses;

        public ResourceStatuses getResourceStatuses() {
            return resourceStatuses;
        }

        public void setResourceStatuses(ResourceStatuses resourceStatuses) {
            this.resourceStatuses = resourceStatuses;
        }
    }

    public class Result implements Serializable {
        private static final long serialVersionUID = -5849274084084502689L;

        @JsonProperty("data")
        private Data data;

        @JsonProperty("success")
        private String success;

        public Data getData() {
            return data;
        }

        public void setData(Data data) {
            this.data = data;
        }

        public String getSuccess() {
            return success;
        }

        public void setSuccess(String success) {
            this.success = success;
        }
    }

    public class ResourceStatuses implements Serializable {
        private static final long serialVersionUID = -3682394965476351448L;
        @JsonProperty("resource_id")
        private long resourceId;

        @JsonProperty("url")
        private String url;

        @JsonProperty("status")
        private int status;

        public long getResourceId() {
            return resourceId;
        }

        public void setResourceId(long resourceId) {
            this.resourceId = resourceId;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }
    }
}